|
|
Main menu for Browse IS/STAG
Course info
KIV / DCE
:
Course description
Department/Unit / Abbreviation
|
KIV
/
DCE
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Distributed Computing Environments
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Accredited / Credits
|
Yes,
6
Cred.
|
Type of completion
|
Combined
|
Type of completion
|
Combined
|
Time requirements
|
Lecture
3
[Hours/Week]
Tutorial
2
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
Yes in the case of a previous evaluation 4 nebo nic.
|
Included in study average
|
YES
|
Language of instruction
|
Czech
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
Yes in the case of a previous evaluation 4 nebo nic.
|
Summer semester
|
0 / -
|
0 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
3 / -
|
5 / -
|
0 / -
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter semester
|
Semester taught
|
Winter semester
|
Minimum (B + C) students
|
not determined
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
Czech
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
0
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
Yes
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
KIV/PDS
|
Preclusive courses
|
N/A
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
KIV/DSA
|
Courses depending on this Course
|
KIV/DSSZ
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
The aim of the course is to provide students with thorough knowledge and hands-on experience with modern computing environments and services design and a range of elementary kinds of distributed computing services. Also, the students will learn how to design, deploy and operate cloud-native applications with respect to current best practices.
|
Requirements on student
|
The student has to successfully and individually implement a chosen cloud-native application and successfully pass a written exam with a short interview.
For the sake of up-to-date content of the course it's necessary to get an agreement of the course leader in order to obtain the course credit in the case of a repeated enrollment.
|
Content
|
1. Basic cloud service layers, cloud reference model, main benefits of cloud computing
2. Cloud architectures, cloud services layers, virtualization
3. Basic cloud services types, overview and comparison of current implementations
4. Private, public and hybrid cloud services
5. Cloud native applications and their architecture
6. Containers - assembly, deployment and orchestration; architecture as code
7. Designing and scaling cloud services and applications
8. Data sharing in cloud applications, distributed file systems
9. Failure-resilient cloud aplications
10. Cloud-native applications CI/CD
11. Cloud services and applications security
12. Debugging and monitoring cloud/ native applications
13. Edge computing and IoT
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
|
Literature
|
-
Basic:
Marinescu, Dan C. Cloud Computing - Theory and Practice. 2nd ed.. Morgan Kaufman (Elsevier), 2018. ISBN 978-0-12-812819-7.
-
Basic:
Fehling, Ch.; Leymann, F.; Retter, R.; Schupeck, W; Arbitter, P. Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Springer-Verlag Wien, 2014. ISBN 978-3-7091-1.
-
Recommended:
Burns, Brendan. Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services. O?Reilly, 2018. ISBN 978-1-492-03177-2.
-
Recommended:
Hwang, Kai; Fox, Geofrey C.; Dongarra, Jack J. Distributed and Cloud Computing: From Parallel Processing to the Internet of Things. Morgan Kaufman (Elsevier), 2012. ISBN 978-0-12-385880-1.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Preparation for an examination (30-60)
|
45
|
Graduate study programme term essay (40-50)
|
50
|
Contact hours
|
65
|
Total
|
160
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
Be able to apply elementary knowledge of computer networks. |
Be able to apply knowledge of operating systems basic, especially Unix/Linux. |
Be able to apply knowledge of process communication and coordination in distributed systems. |
Be familiar with replication concepts and consistency models in distributed systems. |
Be able to design and formally describe synchronous and asynchronous application interfaces of servers/processes. |
Skills - students are expected to possess the following skills before the course commences to finish it successfully: |
Be familiar with the command line interface of the Unix/Linux operating systems, namely commands related to networking. |
Be able to analyze and solve problems related to networking. |
Be able to compose and deploy distributed applications. |
Be able to debug distributed software. |
Competences - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
Be familiar with the field of cloud services, particlarly their types and architecture. |
Demonstrate thorough knowledge of cloud-native application development, deployment and operation. |
Demonstrate knowledge of techniques and types of cloud-native application scaling. |
Demonstrate knowledge in the field of CI/CD of cloud-native applications. |
Demonstrate knowledge in the field of security, fault-tolerance, debugging and monitoring of cloud-native applications. |
Skills - skills resulting from the course: |
Have practical experience with cloud-native applications. |
Have practical experiance with composing cloud-native applications using containers. |
Be familiar with elementary cloud services and be able to use them programatically in cloud-native applications. |
Have practical experience with defining infrastructure/architecture as code. |
Have practical experience with CD/CD of cloud-native applications and cloud infrastructure/architecture. |
Competences - competences resulting from the course: |
N/A |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Written exam |
Continuous assessment |
Skills - skills achieved by taking this course are verified by the following means: |
Skills demonstration during practicum |
Continuous assessment |
Competences - competence achieved by taking this course are verified by the following means: |
Written exam |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Lecture supplemented with a discussion |
Group discussion |
Self-study of literature |
Skills - the following training methods are used to achieve the required skills: |
Practicum |
Skills demonstration |
Group discussion |
Competences - the following training methods are used to achieve the required competences: |
Interactive lecture |
|
|
|
|